import React from 'react';
import { Route } from 'react-router-dom';
import { Redirect } from 'react-router-dom/cjs/react-router-dom.min';
import { getToken } from 'utils/storage';

// 新建函数组件

export default function AuthRoute(props) {
  console.log(props, 'props');
  const { path, component: Comp, ...restProps } = props;
  return (
    <Route
      {...restProps}
      path="/"
      // component={Layout}
      render={(props) => {
        // 有无token
        // 1. 有token，显示Layout进入后台页面
        console.log(getToken());
        if (getToken()) {
          return <Comp {...props}></Comp>;
        } else {
          // 2. 没有token，重定向到登录页
          // props.history.push('/login');
          // 因为要返回原来的页面所以这里用重定向
          return (
            <Redirect
              to={{
                pathname: '/login',
                state: {
                  from: props.location.pathname,
                },
              }}
            ></Redirect>
          );
        }
      }}
    ></Route>
  );
}
